package com.smart.village.big.screen.mapper;

import com.alibaba.fastjson.JSONObject;
import com.smart.village.big.screen.domain.*;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface GridInformationMapper {
    List<GridInformation> getGridInformation(GridInformation gridInformation);
    List<GridMember> getGridMemberList(GridMember gridMemberVo);
    List<BluePlateInformation> getBluePlateInformationByGridSerialNumber( String gridSerialNumber);
    List<BluePlateHouseUnit> getBluePlateHouseUnitBluePlateSerialNumber(String bluePlateSerialNumber);

    List<GridInformation> getGridInformationByVillage(String townNumber, String villageNumber);

    GridInformation getGridInformationByGridSerialNumber(String gridSerialNumber);

    JSONObject getResidentVillageSecretary(String villageNumber);

    JSONObject getVillageBaseInformation(String townNumber, String villageNumber);
    JSONObject getDistrictIntroduction(String townNumber, String villageNumber);

    List<JSONObject> getImportentPersonByGridSerialNumber(String gridSerialNumber);

    List<BluePlateInformation> getBindBluePlateInformationByGridSerialNumber(String gridSerialNumber);
    List<PersonalInformation> getImportentPersonListByBluePlateSerialNumber(String gridSerialNumber);
    List<PersonalMappingTags> getPersonTagsByIdCardNumber(String idCardNumber);
    List<JSONObject> getVillagerCoGovernance2(String townNumber,
                                        String villageNumber,
                                        String searchType,
                                        String beginDate,
                                        String endDate);

    List<JSONObject> getVillagerCoGovernance3(String townNumber, String villageNumber, String searchType, String beginDate, String endDate);

    List<JSONObject> getVillagerCoGovernance(String townNumber, String villageNumber);

    List<JSONObject> getGridEventList(String gridSerialNumber, String searchType, String beginDate, String endDate);
    List<JSONObject> getDigitalDoorplateStatics(String townNumber, String villageNumber, String BPHTSerialNumber);

    List<JSONObject> getDigitalDoorplateStaticsTagList();

    List<GridInformation> getComprehensiveGridManageStatic(String townNumber, String villageNumber);

    List<JSONObject> getComplaintsList(String townNumber, String villageNumber, String dayOneMonthAgo, String now);

    JSONObject getComplaintsDetail(String complaintId);

    List<JSONObject> getComplaintsDetailFullImage(String complaintId);

    List<JSONObject> getComplaintsLastestDynamic(String complaintId);

    List<JSONObject> getComplaintsLastProgress(String townNumber, String villageNumber);

    List<JSONObject> getPatrolCheckIn(String townNumber, String villageNumber);

    String getInspectionVisitSituationFocus(String townNumber, String villageNumber);

    String getInspectionVisitSituationGridMember(String townNumber, String villageNumber);

    String getInspectionVisitSituationEventDeal(String townNumber, String villageNumber);

    String getInspectionVisitSituationVisitRate(String townNumber, String villageNumber);

    List<JSONObject> sendGridTaskMessage();
    List<JSONObject> sendPatrolTaskMessage();

    List<JSONObject> sendHelpMessage(String data);

    List<JSONObject> getMemberServiceInfo(String lsId);

    void insertMemberServiceInfo(JSONObject lJSONObjectMemberService);
}
